package cn.smart.epic.common.persistence.dao;


import cn.smart.epic.common.node.VTreeNode;
import cn.smart.epic.common.persistence.model.Role;
import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * <p>
  * 角色表 Mapper 接口
 * </p>
 *
 * @author stylefeng
 * @since 2017-07-11
 */
public interface RoleMapper extends Mapper<Role> {

    /**
     * 根据条件查询角色列表
     *
     * @return
     * @date 2017年2月12日 下午9:14:34
     */
    List<JSONObject> selectRoles(@Param("condition") String condition);

    /**
     * 删除某个角色的所有权限
     *
     * @param roleId 角色id
     * @return
     * @date 2017年2月13日 下午7:57:51
     */
    int deleteRolesById(@Param("roleId") Integer roleId);

    /**
     * 查询所有角色树
     * @return
     */
    List<VTreeNode> selectRoleTree();

    List<VTreeNode> roleTreeListByRoleId(String[] roleIds);

}